package persistencia.cliente;

import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import negocio.cv.Condicion;
import persistencia.DACBase;

public class DACCondicion extends DACBase {

	private Condicion condicion;
	private List<Condicion> condiciones;
	private CallableStatement clstm;
	private ResultSet rs;
	
	
	
	public DACCondicion(DACBase dacBase) {
		super(dacBase);
		// TODO Auto-generated constructor stub
	}

	public List<Condicion> consultarCondiciones(){
		condiciones = new ArrayList<Condicion>();
		try{
			clstm = getConn().prepareCall("{call condicionConsultarTodas()}"); 
			clstm.execute();
			rs = clstm.getResultSet();			
			while (rs.next()) {
				
				condicion = new Condicion();
				condicion.setIdCondicion(rs.getInt("idcondicion"));
				condicion.setNombre(rs.getString("nombre"));
				condicion.setDescripcion("descripcion");
								 
				condiciones.add(condicion);
            }			           

			rs.close();
			rs = null;
			clstm.close();
            clstm = null;
            
          
            
		}    
		catch (SQLException ex) {
		    // handle any errors
		    System.out.println("SQLException: " + ex.getMessage());
		    System.out.println("SQLState: " + ex.getSQLState());
		    System.out.println("VendorError: " + ex.getErrorCode());
		    System.out.println("Error en metodo consultarCondiciones()_DacCondicion");
			}
		
	    return condiciones;		
	}
	
	public Condicion consultarCondicion(int id) {
		try{
			clstm = getConn().prepareCall("{call condicionConsultar(?)}"); 
			clstm.setInt("id", id);
			clstm.execute();
			rs = clstm.getResultSet();			
			if (rs.next()) {
				
				condicion = new Condicion();
				condicion.setIdCondicion(rs.getInt("idcondicion"));
				condicion.setNombre(rs.getString("nombre"));
				condicion.setDescripcion("descripcion");
            }			           

			rs.close();
			rs = null;
			clstm.close();
            clstm = null;
           
		}    
		catch (SQLException ex) {
		    // handle any errors
		    System.out.println("SQLException: " + ex.getMessage());
		    System.out.println("SQLState: " + ex.getSQLState());
		    System.out.println("VendorError: " + ex.getErrorCode());
		    System.out.println("Error en metodo consultarCondicion()_DacCondicion");
			}
		
	    return condicion;		
	}
	
}
